//package main
//
//import (
//	"fmt"
//	"log"
//	//"os"
//
//	"github.com/streadway/amqp"
//)
//
//func main() {
//	RabbitUrl := fmt.Sprintf("amqp://%s:%s@%s:%d/%s", "yxz", "yxz", "localhost", 5672, "ys_vhost")
//
//	conn, err := amqp.Dial(RabbitUrl)
//	failOnError(err, "Failed to connect to RabbitMQ")
//	defer conn.Close()
//
//	ch, err := conn.Channel()
//	failOnError(err, "Failed to open a channel")
//	defer ch.Close()
//
//	err = ch.ExchangeDeclare(
//		"ys.exchange", //exchange name
//		"topic",       //exchange kind
//		true,          //durable
//		false,         //autodelete
//		false,
//		false,
//		nil,
//	)
//
//	failOnError(err, "Failed to declare exchange")
//
//	//if len(os.Args) < 3 {
//	//	fmt.Println("Arguments error(ex:producer topic msg1 msg2 msg3")
//	//	return
//	//}
//
//	//routingKey := os.Args[1]
//
//	//msgs := os.Args[2:]
//	msgs := [...]string{"aaaa1", "aaaa2", "aaaa3", "aaaa4", "aaaa5"}
//	msgNum := len(msgs)
//
//	for cnt := 0; cnt < msgNum; cnt++ {
//		msgBody := msgs[cnt]
//		err = ch.Publish(
//			"ys.exchange", //exchange
//			"ys.msg.vip",  //routing key
//			false,
//			false,
//			amqp.Publishing{
//				ContentType: "text/plain",
//				Body:        []byte(msgBody),
//			})
//
//		log.Printf(" [x] Sent %s", msgBody)
//	}
//
//	msgs = [...]string{"aaaa111", "aaaa222", "aaaa333", "aaaa444", "aaaa555"}
//	msgNum = len(msgs)
//	for cnt := 0; cnt < msgNum; cnt++ {
//		msgBody := msgs[cnt]
//		err = ch.Publish(
//			"ys.exchange",   //exchange
//			"ys.msg.normal", //routing key
//			false,
//			false,
//			amqp.Publishing{
//				ContentType: "text/plain",
//				Body:        []byte(msgBody),
//			})
//
//		log.Printf(" [x] Sent %s", msgBody)
//	}
//	failOnError(err, "Failed to publish a message")
//
//}
//
//func failOnError(err error, msg string) {
//	if err != nil {
//		fmt.Printf("%s: %s\n", msg, err)
//	}
//}

package main

import (
	//"fmt"
	//"github.com/streadway/amqp"
	//"log"
	"fmt"
	"ycxp/ysjzx/rabbitmq"
)

func main() {
	rmq := rabbitmq.RabbitMq{
		AmqpUrl:       "amqp://yxz:yxz@localhost:5672/ys_vhost",
		ConnectionNum: 10,
		ChannelNum:    100,
	}
	rmq.InitAmqp()
	//message,err := rabbitmqPool.AmqpServer.PutIntoQueue("ys.exchange","ys.msg.vip", "dsasdasdadsadsada1")
	for cnt := 0; cnt < 10; cnt++ {
		rmq.PutIntoQueue("ys.exchange", "ys.msg.normal", fmt.Sprint("msg-normal", cnt))
		rmq.PutIntoQueue("ys.exchange", "ys.msg.vip", fmt.Sprint("msg-vip", cnt))
	}
	//if err != nil{
	//	//若有错误，则表示消息发送失败，做好失败消息处理
	//	fmt.Println(message, "12")
	//}
}
